#include "Caine.h"
Caine::Caine(){
  Gender a=static_cast<Gender>(rand()%2);
  Culoare b=static_cast<Culoare>(rand()%4);
  (*this).limitaVarsta=250;
  (*this).varsta=0;
  (*this).sex=a;
  (*this).culoareBlana=b;
  (*this).specie=caine;
}

 void Caine::print(){
  std::cout<<"Caine |";
  if ((*this).isMale()) std::cout<<" Sex: M |";
  else std::cout<<" Sex: F |";
  std::cout<<" Varsta: "<<(*this).getVarsta()<<" | ";
  if ((*this).getCuloareBlana()==alb) std::cout<<"Culoare blana: alba\n";
  if ((*this).getCuloareBlana()==negru) std::cout<<"Culoare blana: neagra\n";
  if ((*this).getCuloareBlana()==gri) std::cout<<"Culoare blana: gri\n";
  if ((*this).getCuloareBlana()==maro) std::cout<<"Culoare blana: maro\n";
}
bool Caine::isGestant()
{
    if ((*this).isMale()) return false;
    else if((*this).getVarsta()>190) return false;
         else if ((*this).getVarsta()%12!=0) return false;
    return true;

}

Caine* Caine::giveBirth(){
   return new Caine();
}

void Caine::distruge(){
    this->~Caine();
}
